浅谈2.4G配置解码

songhui · 196次点击 · 4个月前

最近遇到项目需要解码2.4G配置,以此为例浅谈解码思路。


首先:

需要有仪器抓包或者可以抓波形进行算法分析,确定大致的同步帧。


前提:

1、某芯片同步帧有3-5个字节,优先猜测4、5字节

2、可能有定长、不定长(9bit header中6bit len)

3、crc可能0、1、2字节,poly、init确定,大胆猜测2字节


策略:

拿到抓包数据或者用同步帧通过定长模式收到的数据,用4、5个字节的窗口去框定同步帧。

1、首先向右框定,界限是碰到11或者00时,则不是前导码,往后拿4、5个字节,用前提2试探,看到完整的16bit CRC,

概率较大,则进行计算验证。

2、往左盲猜0、1,定长稳定收包验证。然后用和1同样的思路进行试探验证,直到完整的前导码0x55、0xaa则停止,概率不大了。


总结:

1、一般来讲,2.4G应用协议设计会在10~20个字节左右,不会太长。

2、如果解码某个新平台,建议先用基础demo对接摸清楚其各模式crc计算范围、大小端等情况。

3、以上策略可以写一个软件辅助穷举计算。其中crc是按位运算的,不是常见的按字节运算,芯片底层会通过数字电路进行硬件计算,

我们需要自己实现按位运算算法。


被收藏 0  ∙  0 赞  
加入收藏
点赞
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站